package article11.equals.hashcode;


import java.util.HashMap;
import java.util.Map;

/**
 * 第11条 覆盖equals时总要覆盖hashcode方法
 *
 * @Author: cctv
 * @Date: 2019/3/29 15:48
 */
public class Demo {
    public static void main(String[] args) {
        //它实际上返回的是null 因为PhoneNumber没有覆盖hashCode方法，从而导致两个相等的实例具有不想等的hashcode 违反了hashcode约定
        Map<PhoneNumber,String> m = new HashMap<>(1);
        PhoneNumber pn = new PhoneNumber(707,867,5309);
        m.put(pn,"Jenny");
        System.out.println(m.get(new PhoneNumber(707,867,5309)));
        System.out.println(pn.hashCode());


    }

}

